The present invention relates to interactive controls within application program modules. More particularly, the present invention relates to interactive controls that are displayed in proximity to an object for the purpose of reviewing and/or modifying an automatic action performed on or in connection with the object.
Application program modules are provided with an increasing level of intelligence. Such intelligence often comprises functionality for predicting a user""s intended or desired actions to automatically correct perceived errors or to automatically apply formatting. While intelligent and automatic actions are generally helpful and timesaving for users, the result of an automatic action may not always be in accordance with the desires of a particular user. Traditional toolbar and menu mechanisms for undoing or disabling an automatic action require that a user spend additional time and effort to discover, access and understand the appropriate controls. Thus, the typical user tends to feel frustrated or inconvenienced when the need arises to undo or otherwise change an undesired automatic action.
In addition, some user-initiated actions result in the application of default formatting, positioning, and other settings or properties. Such user-initiated actions include, but are not limited to, paste operations and insert operations. As is the case with the automatic actions described above, users are required to navigate through traditional toolbar and menu options to try to undo or modify any default settings or properties that may be applied to their data. Again, this process of undoing or modifying default settings and properties can prove to be time consuming and potentially frustrating for the typical user.
One prior mechanism intended to make the process of undoing or modifying an automatic or user-initiated action easier is referred to as a xe2x80x9cright-clickxe2x80x9d menu. A right-click menu is a menu of contextual commands that are associated with an object. A right-click menu is displayed when the user positions the cursor in proximity to the object and clicks on the right button of a mouse or other pointing device. The right-click menu itself is displayed in proximity to the object, so that the user does not have to move the cursor or his attention to another location on the display device. A right-click menu generally includes one or more useful commands that can speed-up the user""s work and reduce the number of clicks and the mouse travel required to perform an action.
However, usability tests have revealed that the typical user is not aware of the existence of right-click menus. In addition, those users that are aware of right-click menus often do not remember to use them and thus tend to revert to traditional toolbar and menu mechanisms. The difficulty in discovering a right-click menu is amplified in situations where an automatic action, such as a spelling correction, can occur quickly and unnoticeably to the user. In other words, if the user does not recognize that an automatic action has occurred, the user will certainly not appreciate that a right-click menu could be available to undo the automatic action. Furthermore, in some situations, the location of the handle that provides access to a hidden right-click menu may not be apparent to the user. For example, when a pasted object comprises a page of text that includes interspersed white-space, tables and pictures, the user has no way of knowing on what portion of the pasted object she should right-click to expose the context menu.
In addition, right-click menus are traditionally static, in that they do not relate specifically to the context of a particular automatic action. In other words, one predefined right-click menu generally applies to all automatic actions. Accordingly, there remains a need for a graphical user interface that provides highly contextual commands to the user in close proximity to an object that is subject to an automatic or user-initiated action. There is also a need for such a graphical user interface having a clear entry point to the contextual commands.
The present invention satisfies the above described needs by providing a system and method for presenting information and controls to a user in response to an automatic action performed by an application program. The information and controls a displayed on the display device in proximity to the object that was subject to the automatic action by the application program. The information and controls are embodied in an on-object user interface (OOUI) that is associated with the object. The OOUI comprises a first graphical indicator, a second graphical indicator and a context menu. The first graphical indicator is displayed on the display device in proximity to the object, in order to indicate that the automatic action was performed. In the case where the automatic action comprises an auto-correct or an auto-format action, the first graphical indicator may comprise a small rectangle that is displayed underneath the object. In one embodiment, the first graphical indicator is not displayed until user interaction with the object is detected. The automatic action may also comprise the setting of a property of the object in response to a user-initiated action. The user-initiated action may comprise a paste operation or an insert operation and the property of the object may relate to formatting or positioning of the object.
After the first graphical indicator is displayed, a determination is made as to whether the user interacts with the first graphical indicator. In response to detecting user interaction with the first graphical indicator, the first graphical indicator is changed to the second graphical indicator, which indicates that a context menu is available. By way of example only, the second graphical indicator may comprise a selectable button. Then in response to user interaction with the second graphical indicator, the context menu is displayed on the display device in proximity to the object. The context menu may comprise, for example, a drop-down menu that is activated in response to selection of the selectable button. The context menu may include one or more interactive controls for allowing the user to undo or modify the automatic action. The context menu may also include an interactive control for allowing the user to customize future applications of the auto correct action. The exemplary methods for creating, displaying and managing an OOUI may be embodied in an OOUI program module stored on a computer-readable medium for execution by a computer system. Furthermore, an OOUI may be embodied in a data structure stored on a computer-readable medium.